package com.sky.config;

import com.sky.properties.AliOssProperties;
import com.sky.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 配置类  用于创建AliOssUtil对象
 */
@Configuration
@Slf4j  //日志
public class OssConfiguration {

    //TODO 此处我是用的是对象属性拷贝，与视频所用get()不同  有可能会出错

    @Bean
    @ConditionalOnMissingBean  //保证bean只有一个，即实例只有一个
    public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties){
        log.info("开始创建阿里云文件上传工具类对象：{}",aliOssProperties);

        //对象属性拷贝
        AliOssUtil aliOssUtil=new AliOssUtil(null,null,null,null);
        BeanUtils.copyProperties(aliOssProperties,aliOssUtil);
        return aliOssUtil;

        //视频所讲方法
        //return new AliOssUtil(aliOssProperties.getEndpoint(),
        //        aliOssProperties.getAccessKeyId(),
        //        aliOssProperties.getAccessKeySecret(),
        //        aliOssProperties.getBucketName());


    }

}
